package com.bella.api.utils;

public class BarcodeUtil {

	private BarcodeUtil() {
	}

	public static String encodeEan13(String raw) {
		// 奇数位初始化
		int c1 = 0;
		// 偶数位初始化
		int c2 = 0;

		// 前12位
		char[] chars = raw.toCharArray();

		for (int i = 0; i < chars.length - 1; i = i + 2) {
			// 奇数位之和
			c1 += Integer.valueOf(String.valueOf(chars[i]));
			// 偶数位之和
			c2 += Integer.valueOf(String.valueOf(chars[i + 1]));
		}

		int c3 = c1 + c2 * 3;

		c3 = c3 - c3 / 10 * 10;

		if (c3 == 0) {

			return raw + 0;

		} else {

			// 13位：随机生成码
			int N = 10 - c3;

			return raw + N;
		}
	}
}
